package com.itheima.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.itheima.common.entity.PageResult;
import com.itheima.common.entity.QueryPageBean;
import com.itheima.mapper.CheckItemMapper;
import com.itheima.mapper.CheckgroupCheckitemMapper;
import com.itheima.pojo.CheckItem;
import com.itheima.service.CheckItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CheckItemServiceImpl implements CheckItemService {

    @Autowired
    private CheckItemMapper checkItemMapper;

    @Autowired
    private CheckgroupCheckitemMapper checkgroupCheckitemMapper;//删除检查项时用到


    // 检查项管理  分页
    @Override
    public PageResult findPage(QueryPageBean queryPageBean) {
        // 开启分页
        PageHelper.startPage(queryPageBean.getCurrentPage(), queryPageBean.getPageSize());
        // 执行查询 获取分页数据
        List<CheckItem> checkItemList = checkItemMapper.findPage(queryPageBean);
        Page<CheckItem> page = (Page<CheckItem>) checkItemList;
        // 封装分页结果
        return new PageResult(page.getTotal(), page.getResult());



    }

    // 新增检查项
    @Override
    public void add(CheckItem checkItem) {
        //1.补齐参数(这里不用),全消完了
        //2 .调用mapper
        checkItemMapper.add(checkItem);

    }

    // 检查项管理  修改
    @Override
    public void update(CheckItem checkItem) {
        checkItemMapper.update(checkItem);

    }

    // 检查项管理  回显(修改时回显数据)  即根据id查询
    @Override
    public CheckItem findById(Integer id) {

        return checkItemMapper.findById(id);

    }


    // 检查项管理  删除
    @Override
    public void delete(Integer id) {
        //1.调用checkItemMapper 查询数据库
        checkItemMapper.delete(id);
        //2.调用checkgroupCheckitemMapper 删除中间表数据
        checkgroupCheckitemMapper.deleteByCheckItemId(id);

    }


}
